<?php

/**
 * Notificacion form.
 *
 * @package    ehockey
 * @subpackage form
 * @author     Your name here
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class NotificacionForm extends BaseNotificacionForm
{
	private $aceptar = false;
	private $observar = false;
	
	public function configure()
	{
		unset($this['verificada']);
		
		$this->widgetSchema['mensaje']->setAttribute('style', 'height:100px; width: 100%');
		$this->widgetSchema['partido_id']  =  new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('Partido'), 'add_empty' => false));
		 
		$this->aceptar = isset($_REQUEST['aceptar']);
		if (!$this->aceptar)
		{
			$this->validatorSchema['mensaje'] = new sfValidatorAnd(array(
			$this->validatorSchema['mensaje'],
			new sfValidatorString(array( 'required' => true)),
			));
		}
	}

	public function setPartidoId($id)
	{
		$this->setDefault('partido_id',$id);
		$this->widgetSchema['partido_id'] = new sfWidgetFormInputHidden();
	}

	protected function doUpdateObject($values) {
		parent::doUpdateObject($values);

		$this->aceptar = isset($_REQUEST['aceptar']);
		$this->observar = isset($_REQUEST['observar']);

		if(!isset($_REQUEST['observar'])) {
			$this->getObject()->getPartido()->setEstado(Partido::ESTADO_Aceptado);
		}
		if(!isset($_REQUEST['aceptar'])) {
			$this->getObject()->getPartido()->setEstado(Partido::ESTADO_Disputado);
		}
	}

	public function isObservada(){
		return $this->observar;
	}

	public function isAceptada(){
		return $this->aceptar;
	}

	public function getNotificacion(){
		return $this->getObject();
	}
}
